package com.tf_cut.backend.mapper;

import com.tf_cut.backend.agent.mobile.vo.SellerOrderProviderVo;
import com.tf_cut.backend.seller.vo.AgentSellerRelation;
import com.tf_cut.backend.seller.vo.SellerAndAccountVo;
import com.tf_cut.backend.seller.vo.SellerAndServiceVo;
import com.tf_cut.backend.seller.vo.SellerOrderVo;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SellerAndAccountMapper {
	List<SellerAndAccountVo> findListSeller(SellerAndAccountVo vo);
	List<SellerAndAccountVo> findSellerWithAgentId(String agentId);

	List<SellerAndAccountVo> findListWithSellerIds(@Param("ids") List<String> ids,@Param("agentName") String agentName);

	List<SellerOrderProviderVo> sellerProviderDay(SellerOrderProviderVo sellerOrderProviderVo);
	List<SellerOrderProviderVo> sellerAmountWithAgentId(SellerOrderProviderVo sellerOrderProviderVo);

	List<SellerAndAccountVo> findSellerForAdmin(SellerAndAccountVo sellerAndAccountVo);

	List<SellerAndAccountVo> querySellerBalance(SellerAndAccountVo sellerAndAccountVo);

	List<SellerAndAccountVo> findByCondition(SellerAndAccountVo vo);
	
	List<SellerAndServiceVo> findSellerService(SellerAndServiceVo avo);
	
	void updateStus(@Param("resultStatus")String resultStatus, @Param("resultCode")String resultCode, @Param("resultMsg")String resultMsg, @Param("sellerId")String sellerId);
	
	SellerAndAccountVo findBySellerRegister(@Param("sellerId")String sellerId);
	
	
	SellerAndAccountVo findWsMoney(@Param("sellerId")String sellerId);
	
	SellerAndAccountVo findBySellerRegisterRuzhu(@Param("sellerId")String sellerId);
	
	void updateRegisterStatus(@Param("registerId")String registerId);
	
	SellerAndAccountVo findByMerchantIdRegister(@Param("merchantId")String merchantId);
	
	AgentSellerRelation qrySellerR(@Param("sellerId") String sellerId);
	
	SellerOrderVo findBySellerOrder(@Param("orderId") String orderId);
	
	String findByServiceMerchant(@Param("sellerId")String sellerId);
	
	void updateMsg(@Param("resultMsg")String resultMsg, @Param("sellerId")String sellerId);
	
	List<SellerAndAccountVo> findBySellerAccount();
	
	SellerAndAccountVo getByOrderId(@Param("orderId")String orderId);
}
